// vuex的权限模块
import { constantRoutes, asyncRoutes } from '@/router'
const state = {
  // 创建一个变量，储存我们自己筛选完毕的菜单
  // 供sidebar渲染，替代默认routes选项
  routes: []
}
const mutations = {
  setRoutes(state, data) {
    state.routes = [...constantRoutes, ...data]
  }
}
const actions = {
  // 封装一个函数可以根据用户数据筛选出他有权限访问的页面数据路由配置
  // 1、用户资料（调用的时候传进来）
  // 2、路由列表（可以通过直接 import）
  filterRouters(store, menus) {
    // 应该配合全部的动态路由列表
    // 和用户的menus权限数组
    // 筛选出名字存在于mebus里面的路由
    const res = asyncRoutes.filter(route => menus.includes(route.name))
    // console.log(res)
    // 把筛选出来的有权限路由交给mutations里面的函数
    store.commit('setRoutes', res)
    return res
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions
}

